The current communication protocol used in the Internet is called IPv4 (Internet Protocol version 4). In order for a node to be functionally connected to the Internet, it requires an address. The addresses used in IPv4 are 32 bit. The address may be assigned by a server. Some nodes may have static addresses which are stored in the node and so they do not need to be assigned an address by a server. Alternatively, some IPv4 nodes may use a protocol called DHCP (dynamic host configuration protocol) in which a DHCP server assigns predetermined IP addresses.
When an IPv4 node obtains its connectivity via a point-to-point communication channel, it typically uses PPPv4 (PPP version 4). PPPv4 has been standardised to work with 32 bit addresses so that IPv4 and PPPv4 are compatible and addresses can be negotiated between them.
The number of addresses provided by IPv4, that is the number of addresses provided by 32 bits, is limited and another Internet Protocol has been proposed IPv6 (Internet Protocol version 6). This has 128 bit addresses and so provides a much larger number of addresses than IPv4. An IPv6 address typically consists of a 64-bit network prefix (or subnet prefix) followed by a 64-bit interface identifier.
A point-to-point protocol, PPPv6, has been configured to work with IPv6. PPPv6 can work with 64-bit addresses. In one arrangement, an IPv6 node uses PPPv6 to obtain an interface identifier, constructs a link-local address based upon the interface identifier and then uses the link-local address to determine its global IPv6 address by sending a router solicitation and receiving a router advertisement. The router advertisement provides the subnet prefix which is required to complete the global IPv6 address.
PPPv6 and IPv6CP protocols are described in “IP version 6 over PPP”, IETF RFC 2472 December 1998. IPv6 address architecture, in particular the link-local address, is described in “IP Version 6 Addressing Architecture”, IETF RFC 2373, July 1998.
Two types of address autoconfiguration are supported in IPv6: stateless and stateful. These are described below.
In stateless address autoconfiguration, a unique interface identifier is created or selected for a node, either as a random 64-bit number or as a function of some static parameter like the hardware address of the interface. The node then carries out a neighbour discovery procedure referred to as “duplicate detection”. This is to ensure that no other node in the same subnet is using the same 64-bit interface identifier. The first step in duplicate detection is to send a multicast packet, limited to the subnet, to a multicast destination address derived as a function of the interface identifier. The address is multicast to see if it elicits a response. If there is another node having that interface identifier, then it will respond. In this case another interface identifier is chosen and the procedure is repeated until a unique interface identifier is selected. If the interface identifier is unique to that subnet, no node having a duplicate interface identifier will respond and the node can then obtain a subnet prefix construct a full IPv6 address. Subnet prefixes are announced by routers as part of router advertisements or in response to router solicitations. According to “IPv6 Stateless Address Autoconfiguration”, IETF RFC 2462, December 1998, if it is desired to avoid duplicate detection a control variable on the node DupAddrDetectTransmits is set to zero during the address assignment process so that duplicate detection does not occur.
In stateful autoconfiguration, the node requests its address from a DHCP server. Since the DHCP server keeps a record of assigned addresses, it is able to assign unique addresses. Therefore, duplicate detection is not strictly necessary although it may be present.
Mobile communication systems have been developed in order to reach users even when they are not close to a fixed telephone terminal. As the use of various data transmission services in offices has increased, different data services have also been introduced into mobile communication systems. Portable computers enable effective data processing wherever the user moves. Mobile communication networks in turn provide an effective access network to actual data networks for the user for mobile data transmission. Mobile data transmission is supported particularly well by digital mobile communication systems, such as the pan-European mobile communication system GSM (Global System for Mobile Communication).
It is becoming desirable for mobile terminals to be able to use the Internet. It has been proposed that the General Packet Radio Service (GPRS) be used to provide IP connectivity to mobile users.
GPRS is a new service in the GSM system, and is one of the objects of the standardization work of the GSM phase 2+ at ETSi (European Telecommunication Standard Institute). A GPRS network architecture is shown in FIG. 1. The GPRS operational environment comprises one or more subnetwork service areas, which are interconnected by a GPRS backbone network. A subnetwork comprises a number of packet data service nodes SN, which in this application will be referred to as serving GPRS support nodes SGSN, each of which is connected to the GSM mobile communication network (typically to base station systems) in such a way that it can provide a packet service for mobile data terminals via several base stations, that is cells. The intermediate mobile communication network provides packet-switched data transmission between a support node and mobile data terminals. Different subnetworks are in turn connected to an external data network, for example to a public switched data network PSPDN via GPRS gateway support nodes GGSN. The GPRS service can thus provide packet data transmission between mobile data terminals and external data networks when the GSM network functions as an access network.
In the GPRS system, layered protocol structures, known as a transmission level and a signalling level, have been defined for transmitting user information and signalling. A transmission level has a layered protocol structure providing transmission of user information together with control procedures of data transmission related to it (for example flow control, error detection, error correction and error recovery). A signalling level consists of protocols which are used for controlling and supporting the functions of the transmission level, such as controlling access to the GPRS network (Attach and Detach) and controlling the routing path of the established network connection in order to support the user's mobility. FIG. 2 illustrates the signalling level of the GPRS system between a mobile data terminal MS and an SGSN. The protocol layers of the transmission level are identical with those of FIG. 2 up to protocol layer SNDCP, above which there is a protocol of the GPRS backbone network (for example Internet Protocol IP) between the MS and the GGSN (instead of protocol L3MM). The protocol layers illustrated in FIG. 2 are:                Layer 3 Mobility Management (L3MM) supports the functionality of mobility management, for example GPRS Attach, GPRS Detach, security, routing update, location update, activation of a PDP context (each of which is numbered with a Network Layer Service Access Point Identifier (NSAPI)), and deactivation of a PDP context.        Subnetwork Dependent Convergence Protocol (SNDCP) supports transmission of protocol data units (N-PDU) of a network layer between an MS and an SGSN. The SNDCP layer, for example, manages ciphering and compression of N-PDUs.        Logical Link Control (LLC) layer provides a reliable logical link The LLC is independent of the radio interface protocols mentioned below.        LLC Relay: This function relays LLC protocol data units (PDU) between an MS-BSS interface (Urn) and a BSS-SGSN interface (Gb).        Base Station Subsystem GPRS Protocol (BSSSGP): This layer transmits routing information and information related to QoS between a BSS and an SGSS.        Frame Relay, which is used over the Gb interface. A semipermanent connection for which several subscribers' LLC PDUs are multiplexed is established between the SGSN and the BSS.        Radio Link Control (RLC): This layer provides a reliable link independent of radio solutions.        Medium Access Control (MAC): This one controls access signalling (request and grant) related to a radio channel and mapping of LLC frames onto a physical GSM channel.        
The function of the LLC layer can be described as follows: the LLC layer functions above the RLC layer in the reference architecture and establishes a logical link between the MS and its serving SGSN. With respect to the function of the LCC the most important requirements are a reliable management of LCC frame relay and support for point-to point and point-to-multipoint addressing.
The service access point (SAP) of the logical link layer is a point where the LLC layer provides services for the protocols of layer 3 (SNDCP layer in FIG. 2). The link of the LLC layer is identified with a data link connection identifier (DLCI), which is transmitted in the address field of each LLC frame. The DLCI consists of two elements: Service Access Point Identifier (SAPI) and Terminal End Point Identifier (TEI). The TEI identifies a GPRS subscriber and is usually a Temporary Logical Link Identity TLLI. The TEI can also be another subscriber identity, such as an international mobile subscriber identity IMSI, but usually transmission of the IMSI on the radio path is avoided. When a user attaches to a GPRS network, a logical link is established between the MS and the SGSN. Thus it can be said that the MS has a call in progress. This logical link has a route between the MS and the SGSN, indicated with the TLLI identifier. Thus the TLLI is a temporary identifier, the SGSN of which allocates for a certain logical link and IMSI. The SGSN sends the TLLI to the MS in connection with the establishment of a logical link, and it is used as an identifier in later signalling and data transmission over this logical link.
Data transmission over a logical link is carried out as explained in the following. The data to be transmitted to or from an MS is processed with an SNDCP function and transmitted to the LLC layer. The LLC layer inserts the data in the information field of LLC frames. The address field of a frame includes for example a TLLI. The LLC layer relays the data to the RLC, which deletes unnecessary information and segments the data into a form compatible with the MAC. The MAC layer activates radio resource processes in order to obtain a radio traffic path for transmission. A corresponding MAC unit on the other side of the radio traffic path receives the data and relays it upwards to the LLC layer. Finally, the data is transmitted from the LLC layer to the SNDCP, where the user data is restored completely and relayed to the next protocol layer.
GPRS systems have been proposed which are based on IPv4. Such a system is typically based on mobile stations (MS) each comprising user terminal equipment (TE) and a mobile terminal (MT). The TE typically comprises a PPP client and communicates with a PPP server, in the MT, over PPPv4. In order for the TE to become functionally connected to the Internet, the PPP client typically requests an IPv4 address from the PPP server. On receiving this request, the MT starts a GPRS “Activate PDP Context” request without specifying a PDP address (if necessary, this will be preceded by a GPRS attach request). This causes a SGSN to send a “Create PDP Context” request to a GGSN, again with an empty PDP address field. The GGSN chooses an IPv4 address as the PDP address, and returns it in the “Create PDP Context Response” message to the SGSN, which sends it to MT in “Activate PDP Context Accept”. The PPP server then sends this IPv4 address to the TE in a PPP configuration acknowledgement message.
GPRS systems have also been proposed which support IPv6. The protocol stacks involved in such a system are shown in FIG. 3. In common with the arrangement in IPv4, a GPRS mobile station typically comprises user terminal equipment (TE) and a mobile terminal (MT). In the case of providing IPv6 connectivity for GPRS mobile stations, the aim is to negotiate an IPv6 128-bit address between the TE and the GGSN. It should be noted that the TE may be a standard computer running a standard PC operating system. Equally, it may not be. The TE and the MT communicate using a point-to-point protocol such as PPPv6. The address acquisition procedure starts when a PPP client running in the TE initiates PPP set-up with a PPP server running on MT. An address negotiated between the PPP client and the PPP user is transferred to the GGSN/SGSN.
As mentioned above, in the case of IPv6, address negotiation involves duplicate detection being carried out. Therefore, for GPRS, this involves the sending of multicast packets over the air interface. Although this does not present a problem in conventional hardwired networks, in the case of GPRS and other radio systems, multicasting over the air interface is undesirable.
Although it has been proposed to set the DupAddrDetectTransmits variable to zero in conventional IPv6 hardwired networks in order to avoid duplicate detection occurring (see above), the GPRS system does not necessarily control the TE, and so it cannot be guaranteed that this will be an available option.
In addition to duplicate detection, other neighbour discovery procedures occur which are based on multicast packets. Either the GGSN or the TE IPv6 stack may send neighbour discovery messages in contexts other than duplicate detection, for example in trying to find the layer 2 (L2) address of another node in the same subnet in order to send a packet to it.